Python: Give a class its own `self` at instantiation time
Posted
by
SuperDisk
on Stack Overflow
See other posts from Stack Overflow
or by SuperDisk
Published on 2012-11-20T22:42:50Z
Indexed on
2012/11/20
23:00 UTC
Read the original article
Hit count: 143
I've got a button class that you can instantiate like so:
engine.createElement((0, 0), Button(code=print, args=("Stuff!",)))
And when it is clicked it will print "Stuff!". However, I need the button to destroy itself whenever it is clicked. Something like this:
engine.createElement((0, 0), Button(code=engine.killElement, args=(self,)))
However, that would just kill the caller, because self refers to the caller at that moment. What I need to do is give the class its own 'self' in advance...
I thought of just making the string 'self' refer to the self variable upon click, but what if I wanted to use the string 'self' in the arguments?
What is the way to do this? Is my architecture all wrong or something?
Thanks.
© Stack Overflow or respective owner